home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / screen-resolution-extra / policy-dontzap.py next >
Text File  |  2009-10-08  |  2KB  |  67 lines

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. ## Copyright (C) 2001-2008 Alberto Milone <albertomilone@alice.it>
  4.  
  5. ## This program is free software; you can redistribute it and/or modify
  6. ## it under the terms of the GNU General Public License as published by
  7. ## the Free Software Foundation; either version 2 of the License, or
  8. ## (at your option) any later version.
  9.  
  10. ## This program is distributed in the hope that it will be useful,
  11. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. ## GNU General Public License for more details.
  14.  
  15. ## You should have received a copy of the GNU General Public License
  16. ## along with this program; if not, write to the Free Software
  17. ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  
  19.  
  20. import gtk, gobject, sys, dbus, logging
  21. import ScreenResolution
  22.  
  23. SERVICE_NAME   = 'com.ubuntu.ScreenResolution.Mechanism'
  24. OBJECT_PATH    = '/'
  25. INTERFACE_NAME = 'com.ubuntu.ScreenResolution.Mechanism'
  26. usage = 'python policy-dontzap.py --enable'
  27.  
  28. import os
  29. import sys
  30.  
  31.  
  32. def get_dontzap_service(widget=None):
  33.     '''
  34.     returns a dbus interface to the screenresolution mechanism
  35.     '''
  36.     service_object = dbus.SystemBus().get_object(SERVICE_NAME, OBJECT_PATH)
  37.     service = dbus.Interface(service_object, INTERFACE_NAME)
  38.  
  39.     return service
  40.  
  41. def main(enable):
  42.     if enable not in ['--enable', '--disable']:
  43.         logging.error("called with wrong arguments = %s" % str(enable))
  44.         return False
  45.     
  46.     conf = get_dontzap_service()
  47.     if not conf:
  48.         # dbus_cant_connect
  49.         logging.error("cannot connect to dbus service")
  50.         sys.exit(1)
  51.     logging.debug("setting dontzap to %s" % enable)
  52.     exit_code = conf.setDontZap(enable)
  53.     logging.debug("exit status: %d" % exit_code)
  54.  
  55.     # All went well if exit_code == 0
  56.     return exit_code
  57.  
  58.  
  59. if __name__ == "__main__":
  60.     if len(sys.argv) > 1:
  61.         operation_status = main(sys.argv[1])
  62.     else:
  63.         operation_status = 1
  64.     
  65.     sys.exit(operation_status)
  66.  
  67.